Background

Data is gathered from the ACLED (Armed Conflict Location and Event Data) API and the Daily Global Historical Climatology Network (GHCN-DAILY). ACLED combs news and media sources to record protests, riots, civil unrest, armed conflict, etc., updating on a weekly basis. GHCN-Daily records precipitation and temperature for locations around the planet every day using surface-based weather stations. Both APIs offer historical as well as current data and are publicly available.

The page below currently uses cached data from 12/26/2024 although it is capable of fetching data from the past year from each of these sources to update on a rolling basis.

First, let’s consider whether there is sufficient variation in our outcome of interest, protest frequency, and our covariates of interest, adverse weather such as rain and heat, which could allow for a relationship between these factors.

Descriptive Statistics

Protest Frequencies

Loading BokehJS ...
Make this Notebook Trusted to load map: File -> Trust Notebook

As of writing (12/26/24), the map and bar plot depict wide variation in protest frequency by location in México. The variation mirrors population density. The most important centers for protest are in the capital, México City, and east-central states like Veracruz.

Protest frequency has also changed over time during the past year, showing notable lows around the very end of both 2023 and 2024.

Weather Patterns

<branca.element.Element at 0x1aaaf7c5ab0>
<branca.element.Element at 0x1aaa7b6f310>
Make this Notebook Trusted to load map: File -> Trust Notebook
Make this Notebook Trusted to load map: File -> Trust Notebook

Mexico is varied in terms of climate, as seen above. The south and the coasts tend to be wetter and hotter than the mountainous interior, perhaps making for more challenging circumstances for demonstrations.

Regression Analysis

Make this Notebook Trusted to load map: File -> Trust Notebook

To quantify the association between protest activity and weather conditions, the unit of analysis is defined as a given weather region on a given day. Weather regions are defined by the most proximate weather station – wherever is closest to a weather station is that weather station’s corresponding region. The map above uses color to show which weather region each protest falls within.

In the regression analysis, the weather region is also used for a fixed effect to help control for factors such as population density, general climate (as opposed to the covariate of interest, current weather conditions), proximity to important government offices, etc. The outcome variable used is a binary indicator of whether any protest occurred in that weather region on that day.

As seen in the table below, the coefficient on precipitation (measured in tenths of millimeters), is very nearly 0 and not statistically significant. The coefficient on average daily temperature (measured in tenths of degrees Celsius) is significant, though very small, however. In a country where heat is often an issue, this effect is curious and requires more careful exploration.

There are several possible explanations for the failure to replicate prior results in the current analysis. Firstly, though many of the weather regions are plausible, several are not, leaving uncertainty as to whether the weather conditions at the weather station were similar to the weather conditions at the protest (sometimes quite far away). Secondly, in most of México, most days there are no protests so the logistic model may have struggled to account for an outcome that is rare in the vast majority of locations, but very common in just a handful of outlying locations. Moreover, the model used regional fixed effects but did not incorporate other controls (whether constant, e.g. population, or time-varying, e.g. unemployment rates or election cycle timing).Finally, much of México (perhaps especially its most populated areas), experiences rain fairly infrequently or for just a brief period of time. This may lead to less opportunity for rain (a common detractor from protest activity elsewhere) to have the same effect here.

Warning: Maximum number of iterations has been exceeded. Current function value: 0.344130 Iterations: 35

Odds Ratio 2.5% CI 97.5% CI P>|z|
const 0.315 0.194 0.511 0.000
prcp 1.000 1.000 1.000 0.736
tavg 1.004 1.003 1.005 0.000
AEROP.INTERNACIONAL 0.237 0.146 0.387 0.000
ALTAR (OBS) 0.016 0.004 0.067 0.000
CHETUMAL INTL 0.105 0.059 0.184 0.000
CHIHUAHUA 0.428 0.250 0.735 0.002
CHILPANCINGO RO. 1.283 0.822 2.004 0.273
CHOIX 0.120 0.068 0.214 0.000
CIUDAD CONSTITUCION 0.000 0.000 0.000 0.000
CIUDAD GUZMAN JAL. 0.007 0.001 0.050 0.000
CIUDAD OBREGON SON. 0.009 0.001 0.069 0.000
CIUDAD VICTORIA 0.174 0.105 0.287 0.000
COATZACOALCOS VER. 0.111 0.060 0.206 0.000
COLIMA 0.146 0.082 0.259 0.000
COLONIA JUAN CARRAS 0.241 0.148 0.390 0.000
COLOTLAN JAL. 0.015 0.004 0.064 0.000
COMITAN CHIS. 0.049 0.023 0.102 0.000
CUERNAVACA 0.661 0.419 1.043 0.075
CULIACAN INTL 0.409 0.253 0.661 0.000
DURANGO DGO. 0.311 0.190 0.510 0.000
EJIDO NUEVO LEON (OBS) 0.885 0.554 1.413 0.609
EMPALME SON. 0.011 0.003 0.037 0.000
FELIPE CARRILLO PUERTO (OBS) 0.018 0.006 0.051 0.000
FRANCISCO SARABIA 0.313 0.196 0.498 0.000
GENERAL IGNACIO P GARCIA INTL 0.289 0.174 0.483 0.000
GUADALAJARA 0.802 0.510 1.262 0.341
GUANAJUATO 0.189 0.108 0.333 0.000
HACIENDA YLANG YLANG VERACRUZ 0.198 0.120 0.327 0.000
HERMANOS SERDAN INTL 1.038 0.660 1.635 0.871
HIDALGO DEL PARRAL CHIH. 0.008 0.002 0.035 0.000
HUAJUAPAN DE LEON (DGE) 0.116 0.066 0.205 0.000
INGENIERO ALBERTO ACUNA ONGAY 0.255 0.155 0.421 0.000
JALAPA VER. 1.560 0.998 2.440 0.051
JESUS TERAN INTL 0.055 0.026 0.115 0.000
LA PAZ (CITY) 0.258 0.161 0.412 0.000
LAGOS DE MORENO JAL. 0.190 0.086 0.423 0.000
LORETO 0.004 0.000 0.026 0.000
MANZANILLO 0.030 0.012 0.072 0.000
MATLAPA S.L.P. 0.157 0.087 0.286 0.000
MEXICO CITY 6.786 4.169 11.048 0.000
MONCLOVA 0.109 0.063 0.188 0.000
MONTERREY (CITY) 0.521 0.327 0.832 0.006
MORELIA MICH. 0.677 0.428 1.069 0.094
NUEVA CASAS GRANDES 0.078 0.042 0.146 0.000
OAXACA OAX. 0.638 0.405 1.005 0.053
ORIZABA 1.180 0.755 1.845 0.468
PACHUCA HGO. 0.996 0.627 1.584 0.987
PIEDRAS NEGRAS (OBS) 0.071 0.039 0.130 0.000
PONCIANO ARRIAGA INTL 0.180 0.106 0.306 0.000
PROGRESO 0.014 0.004 0.047 0.000
PUERTO ANGEL OAX. 0.030 0.013 0.066 0.000
PUERTO PENASCO SON. 0.000 0.000 0.000 0.000
QUERETARO INTERCONTINENTAL 0.207 0.123 0.348 0.000
RIO VERDE S.L.P. 0.000 0.000 0.000 0.000
SALINA CRUZ 0.077 0.038 0.156 0.000
SALTILLO 0.140 0.080 0.246 0.000
SN. CRISTOBAL LAS CASAS CHIS 0.255 0.153 0.426 0.000
SOMBRERETE ZAC. 0.010 0.002 0.043 0.000
SOTO LA MARINA (OBS) 0.095 0.052 0.172 0.000
TAMPICO TAMPS 0.325 0.205 0.516 0.000
TAPACHULA CHIS 0.059 0.031 0.115 0.000
TEMOSACHI (OBS) 0.000 0.000 0.000 0.000
TEMOSACHIC 0.000 0.000 0.000 0.000
TEPIC (OBS) 0.040 0.019 0.084 0.000
TLAXCALA DE XICONTECATL (DGE) 0.140 0.079 0.249 0.000
TOLUCA (OBS) 0.616 0.377 1.006 0.053
TORREON INTL 0.219 0.135 0.355 0.000
TULANCINGO HGO. 0.143 0.080 0.254 0.000
TUXPAN.VER. 0.237 0.132 0.426 0.000
VALLADOLID YUC. 0.181 0.111 0.296 0.000
VILLAHERMOSA TAB. 0.464 0.290 0.745 0.001
ZACATECAS ZAC. (LA BUFA ZAC 0.395 0.243 0.644 0.000
ZAMORA 0.200 0.120 0.335 0.000


Log-Likelihood -6757.678
Pseudo R-squared 0.211
AIC 13663.357
BIC 14246.860
No. Observations 19637.000